/**
 * 就是要计算 (A*B) ^ (C*D)，注意A/B很大，要先分别取模
 * 其次注意MOD为1的情况，特判
 */
#include <bits/stdc++.h>
using namespace std;

using llt = long long;

llt A, B, C, D, MOD;

llt qpow(llt a, llt n){
    llt ret = 1;
    while(n){
        if(n & 1) ret = ret * a % MOD;
        a = a * a % MOD;
        n >>= 1;
    }
    return ret;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(0);
    cin >> A >> B >> C >> D >> MOD;
    if(1 == MOD) cout << 0 << endl;
    else cout << qpow(A % MOD * (B % MOD) % MOD, C * D) << endl;
    return 0;
}